﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.ServiceModel.Channels;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.EstabelecimentoWS;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.ClienteWs;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.UtilidadesWs;

namespace PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.GUI
{
    public partial class ClienteProcurarBebidaPorEstabelecimento : System.Web.UI.Page
    {

        Utilizadades_WS webServiceUtilidades = new Utilizadades_WS();
        PubClub_Cliente_WS webServiceCliente = new PubClub_Cliente_WS();
        PubClub_Estabelecimento_WS webServiceEstabelecimento = new PubClub_Estabelecimento_WS();


        ObjetoCliente cliente = new ObjetoCliente();
        ObjetoEstabelecimento estabelecimento = new ObjetoEstabelecimento();
        ObjetoEstabelecimento[] listaEstabelecimento;
        ObjetoBebidaEstabelecimento[] listaBebidasPorEstabelecimento;
        ObjetoBebida bebida = new ObjetoBebida();
        int i = 0;

        protected void Page_Load(object sender, EventArgs e)
        {
            tabelaBebidas.Visible = false;

            if (Session["Cliente"] == null)
            {
                Response.Redirect("Login.aspx?Logout=2");
            }
            else
            {
                cliente = webServiceCliente.GetCliente(Convert.ToInt32(Session["Cliente"]));
            }

            listaEstabelecimento = webServiceEstabelecimento.ListEstabelecimento();

            if (!Page.IsPostBack)
            {
                foreach (var item in listaEstabelecimento)
                {
                    ListItem itemDaLista = new ListItem();
                    itemDaLista.Value = item.EstabelecimentoId.ToString();
                    itemDaLista.Text = item.NomeFantasia;
                    DropDownListEstabelecimento.Items.Add(itemDaLista);
                }
            }

            TableHeaderRow linhaCabecalho = new TableHeaderRow();

            TableHeaderCell celulaCabecalhoValor = new TableHeaderCell();
            Label labelCabecalhoValor = new Label();

            TableHeaderCell celulaCabecalhoNome = new TableHeaderCell();
            Label labelCabecalhoNome = new Label();

            labelCabecalhoNome.Text = "Nome da bebida";
            celulaCabecalhoNome.Controls.Add(labelCabecalhoNome);
            linhaCabecalho.Cells.Add(celulaCabecalhoNome);

            labelCabecalhoValor.Text = "Valor da dose";
            celulaCabecalhoValor.Controls.Add(labelCabecalhoValor);
            linhaCabecalho.Cells.Add(celulaCabecalhoValor);

            tabelaBebidas.Rows.Add(linhaCabecalho);

        }

        protected void DropDownListEstabelecimento_SelectedIndexChanged(object sender, EventArgs e)
        {

            int id = Convert.ToInt32(DropDownListEstabelecimento.SelectedValue);
            listaBebidasPorEstabelecimento = webServiceUtilidades.ListaBebidaCatalogoByEstabelecimento(id);

            if (listaBebidasPorEstabelecimento.Count() == 0)
            {
                lbAviso.Text = "Estabelecimento não possui bebidas cadastradas";
                lbAviso.Visible = true;
            }
            else
            {
                lbAviso.Visible = false;
                tabelaBebidas.Visible = true;

                foreach (var item in listaBebidasPorEstabelecimento)
                {
                    bebida = webServiceUtilidades.GetBebidaById(item.BebidaId);

                    TableRow linhaDados = new TableRow();

                    TableCell celulaDadosNome = new TableCell();
                    Label labelDadosNome = new Label();

                    TableCell celulaDadosValor = new TableCell();
                    Label labelDadosValor = new Label();


                    if (i % 2 != 0)
                    {
                        linhaDados.CssClass = "odd";
                    }
                    i++;
                    labelDadosNome.Text = bebida.Descricao;
                    celulaDadosNome.Controls.Add(labelDadosNome);
                    linhaDados.Cells.Add(celulaDadosNome);


                    labelDadosValor.Text = bebida.Valor.ToString("N2");
                    celulaDadosValor.Controls.Add(labelDadosValor);
                    linhaDados.Cells.Add(celulaDadosValor);



                    tabelaBebidas.Rows.Add(linhaDados);
                }



            }
        }
    }
}